form.zf {
	position: relative;
	z-index: 1;
	width: 35em;
	margin: -1.1em 0 1em;
	line-height: 1.2;
}

#with-js form.zf {
	visibility: hidden;
}

#with-js form.zf-inited,
#with-js .with-js-error form.zf {
	visibility: visible;
}

.zf fieldset {
	border: 0;
	border-top: 1px solid #BBB;
	position: relative;
	margin-top: 2em;
	padding: 0 0 1em;
}

.zf legend span {
	position: absolute;
	left: 0;
	top: -0.67em;
	margin: 0;
	padding: 0 0.3em 0 0;
	background: #FFF;
	color: #000;
	display: block;
	font-weight: bold;
	white-space: nowrap;
}

.zf dl {
	position: relative;
	width: 100%;
	margin: 1.37em 0 0;
	padding: 0;
}

.zf dl:after,
.zf fieldset.range:after,
.zf .zf-buttons:after,
.zf fieldset div.zf-repeatbuttons:after {
	content: ".";
	display: block;
	height: 0;
	line-height: 0;
	clear: both;
	visibility: hidden;
}

.zf .zf-focused {
	z-index: 999;
}

.zf dt {
	float: left;
	width: 8em;
	margin: 0;
	padding: 0;
}

.zf dd {
	float: left;
	margin: 0 0 0 0.5em;
	padding: 0;
	display: inline;
	position: relative;
	top: -3px;
}

.zf-nolabel dd {
	margin-left: 8.5em;
}

.zf .zf-error {
	color: red;
	width: 13.4em;
	top: 0;
	visibility: hidden;
}

.zf .zf-hint {
	display: none;
	position: absolute;
	left: 9.5em;
	top: 1.9em;
	padding: 0.3em;
	font-size: 0.89em;
	background: #FFFFCA;
	border: 1px solid #CACACA;
	-webkit-box-shadow: rgba(0,0,0,0.2) 0.3em 0.3em 0.3em;
	-moz-box-shadow: rgba(0,0,0,0.2) 0.3em 0.3em 0.3em;
}

.zf-focused .zf-hint {
	display: block;
}

.zf-required-ok .zf-hint-required,
.zf-invalid-ok .zf-hint-invalid {
	display: none;
}

.zf-hint .zf-arrow {
	position: absolute;
	left: 1em;
	top: -7px;
	width: 13px;
	height: 7px;
	background: url(../i/zf-sprite.png) -66px 0 no-repeat;
}

.zf-placeholder {
	color: #AAA;
}

dl.zf-required label ins,
fieldset.zf-required legend span ins {
	color: #FF0000;
	text-decoration: none;
}

dl.zf-required dt label:after,
fieldset.zf-required legend span:after {
	content: '*';
	color: #FF0000;
}

dl.zf-required-ok dt label ins,
.zf-required-ok legend span ins,
dl.zf-required-ok dt label:after,
.zf-required-ok legend span:after {
	content: '* ';
	visibility: hidden;
}

.zf-invalid label,
.zf-invalid input,
.zf-invalid select {
	color: #FF0000;
}

.zf-invalid-ok input {
	color: #008000;
}

.zf-invalid-key .zf-number {
	background: #FF0000;
}

.zf-submitted .zf-required .zf-error,
.zf-submitted .zf-invalid .zf-error {
	visibility: visible;
}

.zf-disabled dt,
.zf-disabled dd,
.zf-disabled label,
.zf-disabled label ins,
.zf-disabled legend span ins,
.zf-disabled input,
.zf-disabled select,
.zf-disabled label:after,
.zf-disabled legend:after,
input.zf-disabled {
	color: #CCC !important;
}

.zf-buttons input.zf-disabled {
	color: #999 !important;
}

.zf-disabled input,
.zf-disabled {
	cursor: default !important;
}

.zf-invisible {
	display: none;
}

.zf-hidden {
	visibility: hidden;
}

.zf .zf-scrollable {
	top: -3px;
	padding: 0 0.3em 0 0.5em;
	height: 10em;
	overflow: auto;
	border: 1px solid #7F9DB9;
}


/* date */

.zf-date-box input,
.zf-date-box select {
	float: left;
	margin-right: 0.2em;
}

.zf-input-day,
.zf-input-hour,
.zf-input-minute,
.zf-input-second {
	width: 1.4em;
}

.zf-input-year {
	width: 2.2em;
}

.zf-date-box .zf-input-hour {
	margin-left: 0.6em;
}

.zf-date-box .zf-picker {
	display: none;
	position: relative;
	z-index: 2;
	left: 0.4em;
	float: left;
}

#with-js .zf-date-box .zf-picker {
	display: block;
}

.zf-date-box .zf-picker .zf-opener {
	width: 40px;
	background-image: url(../i/zf-sprite.png);
	background-position: -27px 0.3em;
	background-repeat: no-repeat;
}

.zf-picker-active {
	z-index: 1000;
}

.zf-calendar {
	position: absolute;
	left: 0;
	top: 100%;
	margin: 0;
	background: #FFF;
	border: 1px solid #CCC;
	border-collapse: collapse;
	border-spacing: 0;
}

.zf-calendar thead {
	background-color: #EFEFEF;
}

.zf-calendar th,
.zf-calendar td {
	padding: 0.3em 0.4em;
	font-size: 1em;
	text-align: center;
}

.zf-calendar th {
	font-weight: normal;
}

.zf-calendar td {
	cursor: pointer;
}

.zf-calendar td.zf-add {
	color: #DADADA;
}

.zf-calendar .zf-weekend {
	color: #FF0000;
}

.zf-calendar .zf-now {
	background-color: #F5F5F5;
}

.zf-calendar td:hover,
.zf-calendar td.zf-hovered {
	background-color: #CCC;
}

.zf-calendar .zf-buttonprev,
.zf-calendar .zf-buttonnext {
	display: block;
	width: 2.5em;
	margin: 0;
}

.zf-calendar .zf-buttonprev {
	float: left;
}

.zf-calendar .zf-buttonnext {
	float: right;
}

.zf-calendar .zf-title {
	display: block;
	padding-top: 0.2em;
}


/* combobox */

.zf-combo-box {
	position: relative;
	z-index: 998;
}

.zf-combolist-active {
	z-index: 999;
}

.zf-combolist {
	position: absolute;
	left: 0;
	display: none;
}

.zf-combolist-active .zf-combolist {
	display: block;
	width: 100%;
}

.zf-combo-box .zf-button {
	display: none;
	width: 19px;
	overflow: hidden;
	background-image: url(../i/zf-sprite.png);
	background-position: -47px 0.3em;
	background-repeat: no-repeat;
}

#with-js .zf-combo-box .zf-button {
	display: inline;
}


/* checkboxes, radiobuttons */

.zf-option {
	position: relative;
	padding: 3px 0 0.3em 18px;
}

.zf-option input {
	position: absolute;
	left: 0;
	top: 0.72em;
	margin: -4px 0 0;
}


/* sheets */

#with-js .zf-sheet {
	display: none;
	padding-bottom: 0;
}

#with-js fieldset.zf-selected {
	display: block;
}


/* range */

.zf-range dl {
	float: left;
	width: auto;
	margin-left: 0.5em;
}

.zf-range dt {
	width: 2em;
}

.zf-range dd {
	margin: 0 1em 0 0;
}


/* buttons */

.zf-buttons input,
.zf-button,
.zf-buttonprev,
.zf-buttonnext,
.zf-buttonadd,
.zf-buttonremove,
.zf-buttonup,
.zf-buttondown,
.zf-submit {
	scursor: pointer;
}

.zf-buttons {
	margin: 1.5em -0.4em 0;
	padding: 0.4em 0;
	background: #FAFAFA;
}

.zf-buttons input {
	float: left;
	margin-left: 8.9em;
}

.zf-sheet .zf-buttons .zf-buttonnext,
.zf-sheet .zf-buttons .zf-buttonprev {
	display: none;
}

.zf-buttons input.zf-buttonprev {
	margin-left: 0.4em;
}

.zf-buttons input.zf-buttonnext,
.zf-sheet .zf-buttons .zf-submit {
	float: right;
	margin-right: 0.4em;
}

.zf-buttons input.zf-submit,
#with-js .zf-buttons input,
#with-js .zf-repeatbuttons {
	display: block;
}

.zf .zf-repeatbuttons {
	display: none;
}

.zf dd.zf-repeatbuttons {
	margin-left: 0.5em;
}

.zf div.zf-repeatbuttons {
	margin-top: 0.5em;
	text-align: right;
}

.zf-repeatbuttons input {
	width: 2.2em;
}

.zf-repeatbuttons span.zf-disabled {
	visibility: hidden;
}

.zf-repeatbuttons span.zf-buttonadd {
	float: left;
}

.zf-repeatbuttons span.zf-buttonremove {
	float: right;
}


/* slider */

.zf-slider-horizontal,
.zf-slider-vertical {
	margin-top: 1.5em;
}

.zf-slider-horizontal,
.zf-slider-vertical,
.zf-slider .zf-slider-scale,
.zf-slider-vertical .zf-slider-scale {
	position: relative;
}

.zf-slider-horizontal,
.zf-slider-horizontal .zf-slider-scale {
	width: 400px;
}

.zf-slider-horizontal .zf-slider-scale {
	top: 10px;
	height: 20px;
	border-top: 1px solid #999;
}

.zf-slider-vertical {
	margin-left: 1em;
	width: 20px;
}

.zf-slider-vertical,
.zf-slider-vertical .zf-slider-scale {
	height: 200px;
}

.zf-slider-vertical .zf-slider-scale {
	left: 10px;
	width: 20px;
	border-left: 1px solid #999;
}

.zf-slider div div div,
.zf-slidervertical div div div {
	position: absolute;
}

.zf-slider-control {
	position: absolute;
	left: 0;
	cursor: pointer;
	overflow: hidden;
	background: url(../i/zf-sprite.png) 0 0 no-repeat;
	z-index: 2;
}

.zf-slider-horizontal .zf-slider-control {
	top: 11px;
	width: 11px;
	height: 14px;
	margin-left: -5px;
}

.zf-slider-control-selected {
	z-index: 3;
}

.zf-slider-vertical .zf-slider-control {
	left: 11px;
	width: 14px;
	height: 11px;
	margin-bottom: -6px;
	background-position: -11px 0;
}

.zf-slider .zf-slider-value,
.zf-slidervertical .zf-slider-value {
	position: absolute;
	font-size: 0.8em;
}

.zf-slider-horizontal .zf-slider-value {
	bottom: 15px;
}

.zf-slider-vertical .zf-slider-value {
	right: 15px;
	margin-bottom: -0.7em;
}

.zf-slider-value-selected {
	color: green;
}

.zf-slider-mark {
	color: #BBB;
	background: url(../i/zf-sprite.png) -25px 0 no-repeat;
}

.zf-slider-horizontal .zf-slider-mark {
	top: -4px;
	width: 1px;
	height: 7px;
}

.zf-slider-vertical .zf-slider-mark {
	left: -5px;
	margin-bottom: -1px;
	width: 7px;
	height: 1px;
	background-position: 0 -28px;
}

.zf-slider-mark span {
	position: absolute;
	font-size: 0.7em;
}

.zf-slider-horizontal .zf-slider-mark span {
	top: 8px;
}

.zf-slider-vertical .zf-slider-mark span {
	left: 15px;
	top: -0.7em;
}

.zf-slider-range {
	position: absolute;
	z-index: 2;
	overflow: hidden;
}

.zf-slider-horizontal .zf-slider-range {
	top: 7px;
	height: 3px;
}

.zf-slider-vertical .zf-slider-range {
	left: 10px;
	width: 3px;
}

.zf-slider-range-0 {
	background: red;
}

.zf-slider-range-1 {
	background: blue;
}

.zf-slider-range-2 {
	background: green;
}

.zf-slider-range-3 {
	background: yellow;
}

.zf-disabled .zf-slider-control,
.zf-slider-control-disabled {
	cursor: default;
	z-index: 1;
}

.zf-disabled .zf-slider-horizontal .zf-slider-control,
.zf-slider-horizontal .zf-slider-control-disabled {
	background-position: 0 -14px;
}

.zf-disabled .zf-slider-vertical .zf-slider-control,
.zf-slider-vertical .zf-slider-control-disabled {
	background-position: -11px -11px;
}

.zf-disabled .zf-slider-mark,
.zf-disabled .zf-slider-value,
.zf-slider-value-disabled {
	color: #CCC;
}

.zf-range .zf-slider-range-0,
.zf-range .zf-slider-range-2 {
	display: none;
}


/* opera hacks */

html:first-child .zf .zf-option input {
	margin: -6px 0 0 -2px;
}

body:nth-of-type(1) .zf .zf-scrollable .zf-option label {
	padding-right: 18px;
}

@media all and(width) {

	.zf .zf-option input {
		margin: -6px 0 0 -2px;
	}

	.zf-combo-box .zf-button,
	.zf-date-box .zf-picker .zf-opener {
		background-color: #F3F3F3;
	}

}